using System;
using System.ServiceModel;
using GianosNET.Common.Classes;

namespace RemotedServicesCommon.Interfaces
{
    public interface IPubSubContract
    {
        [OperationContract(IsOneWay = true)]
        void LogUpdate(Guid id, string msg);

        [OperationContract(IsOneWay = true)]
        void ServiceStatusChanged(Guid id, RemotedClass.RemotedClassStatusEnum status);

        [OperationContract(IsOneWay = true)]
        void LoopingStatusChanged(Guid id, LoopingService.LoopingStateEnum status);

        [OperationContract(IsOneWay = true)]
        void LoopingIdleCountdown(Guid id, int secs);

        [OperationContract(IsOneWay = true)]
        void ForceFullClientRefresh();
    }

}